home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Freelog 125
/
Freelog_MarsAvril2015_No125.iso
/
Musique
/
Quod Libet
/
quodlibet-3.3.0-installer.exe
/
bin
/
quodlibet
/
ext
/
events
/
screensaver.pyc
(
.txt
)
< prev
next >
Wrap
Python Compiled Bytecode
|
2014-12-31
|
3KB
|
80 lines
# Source Generated with Decompyle++
# File: in.pyc (Python 2.7)
import os
import sys
if os.name == 'nt' or sys.platform == 'darwin':
from quodlibet.plugins import PluginNotSupportedError
raise PluginNotSupportedError
from gi.repository import Gtk
import dbus
from quodlibet import app
from quodlibet.plugins.events import EventPlugin
class ScreensaverPause(EventPlugin):
PLUGIN_ID = 'screensaver_pause'
PLUGIN_NAME = _('Screensaver Pause')
PLUGIN_DESC = _('Pause while the GNOME screensaver is active.')
PLUGIN_ICON = Gtk.STOCK_MEDIA_PAUSE
PLUGIN_VERSION = '0.2'
DBUS_NAME = 'org.gnome.ScreenSaver'
DBUS_INTERFACE = 'org.gnome.ScreenSaver'
DBUS_PATH = '/org/gnome/ScreenSaver'
__was_paused = False
__ignore_next = False
__interface = None
__active = False
__watch = None
def __screensaver_changed(self, active):
if active == self._ScreensaverPause__active:
return None
self._ScreensaverPause__active = None
if active:
self._ScreensaverPause__was_paused = app.player.paused
app.player.paused = True
elif not (self._ScreensaverPause__was_paused) and not (self._ScreensaverPause__ignore_next):
app.player.paused = False
self._ScreensaverPause__ignore_next = False
def plugin_on_unpaused(self):
self._ScreensaverPause__ignore_next = True
plugin_on_paused = plugin_on_unpaused
def __remove_interface(self):
if self._ScreensaverPause__interface:
self._ScreensaverPause__sig.remove()
self._ScreensaverPause__interface = None
def __owner_changed(self, owner):
if not owner:
self._ScreensaverPause__remove_interface()
elif not self._ScreensaverPause__interface:
bus = dbus.SessionBus()
obj = bus.get_object(self.DBUS_NAME, self.DBUS_PATH)
iface = dbus.Interface(obj, self.DBUS_INTERFACE)
self._ScreensaverPause__sig = iface.connect_to_signal('ActiveChanged', self._ScreensaverPause__screensaver_changed)
self._ScreensaverPause__active = iface.GetActive()
self._ScreensaverPause__interface = iface
def enabled(self):
try:
bus = dbus.SessionBus()
self._ScreensaverPause__watch = bus.watch_name_owner(self.DBUS_NAME, self._ScreensaverPause__owner_changed)
except dbus.DBusException:
pass
def disabled(self):
if self._ScreensaverPause__watch:
self._ScreensaverPause__watch.cancel()
self._ScreensaverPause__remove_interface()